package com.ruoyi.system.domain.aggregation;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 订单对象 order
 * 
 * @author ruoyi
 * @date 2025-01-01
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 商品id */
    @Excel(name = "商品id")
    private Long productId;

    /** c端用户ID */
    @Excel(name = "c端用户ID")
    private Long cUserId;

    /** 商家id */
    @Excel(name = "商家id")
    private Long merchantId;

    /** 商品数量 */
    @Excel(name = "商品数量")
    private Integer num;

    /** 商品积分价格 */
    @Excel(name = "商品积分价格")
    private BigDecimal pointPrice;

    /** 商品价格，单位分 */
    @Excel(name = "商品价格(分)")
    private Long price;

    /** 订单金额，单位分 */
    @Excel(name = "订单金额(分)")
    private Long amount;

    /** 订单积分金额 */
    @Excel(name = "订单积分金额")
    private Long pointAmount;

    /** 支付金额，单位分 */
    @Excel(name = "支付金额(分)")
    private Long payAmount;

    /** 支付积分金额 */
    @Excel(name = "支付积分金额")
    private Long payPointAmount;

    /** 商品属性 */
    @Excel(name = "商品属性")
    private String attribute;

    /** 订单状态：1、待支付2、已支付3、部分支付4、已超时5、支付中 */
    @Excel(name = "订单状态", readConverterExp = "1=待支付,2=已支付,3=部分支付,4=已超时,5=支付中")
    private Integer statue;

    /** 删除标志，0未删除，1删除 */
    private Integer deleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setCUserId(Long cUserId) 
    {
        this.cUserId = cUserId;
    }

    public Long getCUserId() 
    {
        return cUserId;
    }

    public void setMerchantId(Long merchantId) 
    {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() 
    {
        return merchantId;
    }

    public void setNum(Integer num) 
    {
        this.num = num;
    }

    public Integer getNum() 
    {
        return num;
    }

    public void setPointPrice(BigDecimal pointPrice) 
    {
        this.pointPrice = pointPrice;
    }

    public BigDecimal getPointPrice() 
    {
        return pointPrice;
    }

    public void setPrice(Long price) 
    {
        this.price = price;
    }

    public Long getPrice() 
    {
        return price;
    }

    public void setAmount(Long amount) 
    {
        this.amount = amount;
    }

    public Long getAmount() 
    {
        return amount;
    }

    public void setPointAmount(Long pointAmount) 
    {
        this.pointAmount = pointAmount;
    }

    public Long getPointAmount() 
    {
        return pointAmount;
    }

    public void setPayAmount(Long payAmount) 
    {
        this.payAmount = payAmount;
    }

    public Long getPayAmount() 
    {
        return payAmount;
    }

    public void setPayPointAmount(Long payPointAmount) 
    {
        this.payPointAmount = payPointAmount;
    }

    public Long getPayPointAmount() 
    {
        return payPointAmount;
    }

    public void setAttribute(String attribute) 
    {
        this.attribute = attribute;
    }

    public String getAttribute() 
    {
        return attribute;
    }

    public void setStatue(Integer statue) 
    {
        this.statue = statue;
    }

    public Integer getStatue() 
    {
        return statue;
    }

    public void setDeleted(Integer deleted) 
    {
        this.deleted = deleted;
    }

    public Integer getDeleted() 
    {
        return deleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("productId", getProductId())
            .append("cUserId", getCUserId())
            .append("merchantId", getMerchantId())
            .append("num", getNum())
            .append("pointPrice", getPointPrice())
            .append("price", getPrice())
            .append("amount", getAmount())
            .append("pointAmount", getPointAmount())
            .append("payAmount", getPayAmount())
            .append("payPointAmount", getPayPointAmount())
            .append("attribute", getAttribute())
            .append("statue", getStatue())
            .append("deleted", getDeleted())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .toString();
    }
}

